package com.gxp.common.core.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gxp.common.annotation.Excel;
import com.gxp.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 
 * @TableName zk_service_type
 */
public class ZkServiceType extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** ID */
    private Long svtypeId;

    /** name */
    @Excel(name = "name")
    private String svtypeName;

    /** 描述 */
    @Excel(name = "描述")
    private String svtypeDescription;

    /** 0代表'ON',1代表'OFF' */
    @Excel(name = "状态")
    private Long svtypeStatus;

    /**  用户是否拥有此Service Type 权限  */
    private boolean flag;

    private String approveBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date approveTime;

    private String comment;

    private Long isLock;

    private String approveType;

    private String approveDetail;

    public ZkServiceType(Long svtypeId) {
        this.svtypeId = svtypeId;
    }

    public ZkServiceType() {
    }

    public void setSvtypeId(Long svtypeId)
    {
        this.svtypeId = svtypeId;
    }

    public Long getSvtypeId()
    {
        return svtypeId;
    }
    public void setSvtypeName(String svtypeName)
    {
        this.svtypeName = svtypeName;
    }

    public String getSvtypeName()
    {
        return svtypeName;
    }
    public void setSvtypeDescription(String svtypeDescription)
    {
        this.svtypeDescription = svtypeDescription;
    }

    public String getSvtypeDescription()
    {
        return svtypeDescription;
    }
    public void setSvtypeStatus(Long svtypeStatus)
    {
        this.svtypeStatus = svtypeStatus;
    }

    public Long getSvtypeStatus()
    {
        return svtypeStatus;
    }

    public boolean isFlag() {
        return flag;
    }

    public void setFlag(boolean flag) {
        this.flag = flag;
    }

    public String getApproveBy() {
        return approveBy;
    }

    public void setApproveBy(String approveBy) {
        this.approveBy = approveBy;
    }

    public Date getApproveTime() {
        return approveTime;
    }

    public void setApproveTime(Date approveTime) {
        this.approveTime = approveTime;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public Long getIsLock() {
        return isLock;
    }

    public void setIsLock(Long isLock) {
        this.isLock = isLock;
    }

    public String getApproveType() {
        return approveType;
    }

    public void setApproveType(String approveType) {
        this.approveType = approveType;
    }

    public String getApproveDetail() {
        return approveDetail;
    }

    public void setApproveDetail(String approveDetail) {
        this.approveDetail = approveDetail;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("svtypeId", getSvtypeId())
                .append("svtypeName", getSvtypeName())
                .append("svtypeDescription", getSvtypeDescription())
                .append("svtypeStatus", getSvtypeStatus())
                .append("approveBy", getApproveBy())
                .append("approveTime", getApproveTime())
                .append("flag", isFlag())
                .append("comment", getComment())
                .append("isLock", getIsLock())
                .append("approveType", getApproveType())
                .append("approveDetail", getApproveDetail())
                .toString();
    }
}